home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 45.zip / BS1 part 45 / Debut - Planet Simulation v1.05 (1990)(Pandora)(Disk 1 of 2)[cr SCX].7z / Debut - Planet Simulation v1.05 (1990)(Pandora)(Disk 1 of 2)[cr SCX].adf / TEXTINTRO.S < prev    next >
Text File  |  1990-09-17  |  11KB  |  580 lines

  1. *************************************************
  2. * A NEW SLIPSTREAM INTRO (C) 1990 MARC        *
  3. *************************************************
  4.     OPT    D-,C-,O1+,O2+
  5.  
  6. *********************************
  7. * A FEW HARWARE EQUATES        *
  8. *********************************
  9.  
  10.     SECTION    DEMO,CODE_C
  11.  
  12. CUSTOM    EQU    $DFF000
  13. SPR0CTL    EQU    $142
  14. COP2LCH    EQU    $84
  15.  
  16.  
  17.  
  18.  
  19.     IFND    HARDWARE_CUSTOM_I
  20. HARDWARE_CUSTOM_I    SET    1
  21. bltddat    EQU    $000
  22. dmaconr    EQU    $002
  23. vposr    EQU    $004
  24. vhposr    EQU    $006
  25. dskdatr    EQU    $008
  26. joy0dat    EQU    $00A
  27. joy1dat    EQU    $00C
  28. clxdat    EQU    $00E
  29. adkconr    EQU    $010
  30. pot0dat    EQU    $012
  31. pot1dat    EQU    $014
  32. potinp    EQU    $016
  33. serdatr    EQU    $018
  34. dskbytr    EQU    $01A
  35. intenar    EQU    $01C
  36. intreqr    EQU    $01E
  37. dskpt    EQU    $020
  38. dsklen    EQU    $024
  39. dskdat    EQU    $026
  40. refptr    EQU    $028
  41. vposw    EQU    $02A
  42. vhposw    EQU    $02C
  43. copcon    EQU    $02E
  44. serdat    EQU    $030
  45. serper    EQU    $032
  46. potgo    EQU    $034
  47. joytest    EQU    $036
  48. strequ    EQU    $038
  49. strvbl    EQU    $03A
  50. strhor    EQU    $03C
  51. strlong    EQU    $03E
  52. bltcon0    EQU    $040
  53. bltcon1    EQU    $042
  54. bltafwm    EQU    $044
  55. bltalwm    EQU    $046
  56. bltcpt    EQU    $048
  57. bltbpt    EQU    $04C
  58. bltapt    EQU    $050
  59. bltdpt    EQU    $054
  60. bltsize    EQU    $058
  61. bltcmod    EQU    $060
  62. bltbmod    EQU    $062
  63. bltamod    EQU    $064
  64. bltdmod    EQU    $066
  65. bltcdat    EQU    $070
  66. bltbdat    EQU    $072
  67. bltadat    EQU    $074
  68. dsksync    EQU    $07E
  69. cop1lc    EQU    $080
  70. cop2lc    EQU    $084
  71. copjmp1    EQU    $088
  72. copjmp2    EQU    $08A
  73. ;copins    EQU    $08C
  74. diwstrt    EQU    $08E
  75. diwstop    EQU    $090
  76. ddfstrt    EQU    $092
  77. ddfstop    EQU    $094
  78. dmacon    EQU    $096
  79. clxcon    EQU    $098
  80. intena    EQU    $09A
  81. intreq    EQU    $09C
  82. adkcon    EQU    $09E
  83. aud    EQU    $0A0
  84. aud0    EQU    $0A0
  85. aud1    EQU    $0B0
  86. aud2    EQU    $0C0
  87. aud3    EQU    $0D0
  88. ac_ptr    EQU    $00
  89. ac_len    EQU    $04
  90. ac_per    EQU    $06
  91. ac_vol    EQU    $08
  92. ac_dat    EQU    $0A
  93. ac_SIZEOF    EQU    $10
  94. bplpt    EQU    $0E0
  95. bplcon0    EQU    $100
  96. bplcon1    EQU    $102
  97. bplcon2    EQU    $104
  98. bpl1mod    EQU    $108
  99. bpl2mod    EQU    $10A
  100. bpldat    EQU    $110
  101. sprpt    EQU    $120
  102. spr    EQU    $140
  103. sd_pos    EQU    $00
  104. sd_ctl    EQU    $02
  105. sd_dataa    EQU    $04
  106. sd_datab    EQU    $08
  107. color    EQU    $180
  108.     ENDC
  109.  
  110.  
  111.  
  112. *************************************************
  113. * INITIALISE SUPERVISOR MODE            *
  114. *************************************************
  115. GOPROG:    
  116. ;    MOVE.W    #32,D0
  117. ;    LEA    TIDY,A0
  118. ;    BSR    FADE1COL
  119.  
  120.  
  121.     MOVEM.L D0-D7/A0-A6,-(SP)
  122.     MOVE.L    #LOGO+(SCRWIDTH*1)+3,PRPOINT
  123.     CLR.L    $0
  124.     MOVE.L    #PROG,$00000080
  125.     TRAP    #0
  126.     MOVEM.L (SP)+,D0-D7/A0-A6
  127.     RTS
  128. *********************************
  129. * PROGRAM STARTS HERE        *
  130. *********************************
  131. PROG
  132.     LEA    CUSTOM,A5
  133.     MOVE.W    SR,STRSTORE
  134.     MOVE.W    DMACONR(A5),DMASTORE
  135.     MOVE.W    INTENAR(A5),INTSTORE
  136.     MOVE.W    #$2000,SR
  137.     MOVE.W    #$7FFF,DMACON(A5)
  138.     MOVE.W    #$7FFF,INTENA(A5)
  139.     CLR.W    SPR0CTL(A5)
  140.     MOVE.W    #$0020,INTREQ(A5)
  141.     MOVE.L    #NEWCOPPER,COP2LCH(A5)
  142.  
  143. *********************************
  144. * MAIN LOOP SETUP ROUTINES    *
  145. *********************************
  146.  
  147.  
  148.     BSR    PICSET
  149.  
  150.  
  151.     CLR.W    COPJMP2(A5)
  152.     MOVE.W    #$87C0,DMACON(A5)
  153.  
  154.     BSET    #1,$BFE001 
  155.     BSR    SETSTART
  156.     
  157. *********************************
  158. * MAIN LOOP            *
  159. *********************************
  160. VBLANK
  161.     MOVE.W    $001E(A5),D0
  162.     AND.W    #$0020,D0
  163.     BEQ.S    VBLANK
  164.  
  165.  
  166.      BSR    KEYTEST         
  167.     TST.L    D0
  168.     BEQ.S    PRESSED
  169.     CMP.L    #GAMES,D0
  170.     BLT.S    PRESSED
  171.  
  172.  
  173.     MOVE.W    #$0020,$009C(A5)
  174.  
  175.     BTST    #6,$BFE001
  176.     BEQ.S    PRESSED
  177.     BRA.S    VBLANK
  178.  
  179. *********************************
  180. * EXIT BACK TO CLI        *
  181. *********************************
  182. PRESSED    
  183.     MOVE.W    D0,0
  184.     BSR    CLEAR
  185.     CLR.W    PAPER
  186.     LEA    TIDY(PC),A0
  187.     BSR    FADE1COL
  188.     MOVE.W    #32,D0
  189.     LEA    COLS,A0
  190.     BSR    FADE
  191.     
  192.     MOVE.W    #$7FFF,DMACON(A5)
  193.     MOVE.W    #$7FFF,INTENA(A5)
  194.  
  195.  
  196.     LEA    CUSTOM,A5
  197.     MOVE.W    #$2C81,$008E(A5)
  198.     MOVE.W    #$2CC1,$0090(A5)
  199.     MOVE.W    #$0038,$0092(A5)
  200.     MOVE.W    #$00D0,$0094(A5)
  201.     CLR.W    $010A(A5)
  202.     CLR.W    $0108(A5)
  203.     
  204.  
  205.     CLR.W    COPJMP1(A5)
  206.     OR.W    #$8000,DMASTORE
  207.     OR.W    #$8000,INTSTORE
  208.     MOVE.W    DMASTORE(PC),DMACON(A5)
  209.     MOVE.W    INTSTORE(PC),INTENA(A5)
  210.     MOVE.W    STRSTORE(PC),SR
  211.     RTE
  212. *************************************************
  213. * TRAINER PATCH                    *
  214. *************************************************
  215. TRAIN    TST.B    $0
  216.     BNE.S    TNOSUB
  217.     SUB.W    #1,D0
  218. TNOSUB    TST.W    D0
  219.     RTS
  220. TRAINEND
  221.  
  222. *************************************************
  223. * DMACON AND INTERUPT SAVE            *
  224. *************************************************
  225. INTSTORE    DC.W    0
  226. DMASTORE    DC.W    0
  227. STRSTORE    DC.W    0
  228.  
  229.  
  230. *************************************************
  231. * ENTER PICTURE POINTERS INTO COPPER        *
  232. *************************************************
  233. PICSET    
  234.  
  235.     MOVE.L    #LOGO,D0
  236.     MOVE.W    D0,PSL1L
  237.     SWAP    D0
  238.     MOVE.W    D0,PSL1H
  239.     MOVE.L    #LOGO+(48*256),D0
  240.     MOVE.W    D0,PSL2L
  241.     SWAP    D0
  242.     MOVE.W    D0,PSL2H
  243.     MOVE.L    #LOGO+(48*(2*256)),D0
  244.     MOVE.W    D0,PSL3L
  245.     SWAP    D0
  246.     MOVE.W    D0,PSL3H
  247.     MOVE.L    #LOGO+(48*(3*256)),D0
  248.     MOVE.W    D0,PSL4L
  249.     SWAP    D0
  250.     MOVE.W    D0,PSL4H
  251.     MOVE.L    #LOGO+(48*(4*256)),D0
  252.     MOVE.W    D0,PSL5L
  253.     SWAP    D0
  254.     MOVE.W    D0,PSL5H
  255.  
  256.     RTS
  257. *************************************************
  258. * FADE ROUTINE   A0 COPPER     D0 NO OF  COLS     *
  259. *************************************************
  260. FADE1COL
  261.     MOVE.L    #15,D0
  262. FADE1LOOP
  263.     MOVE.W    (A0),D2
  264.     BSR    DIVIDE
  265.     DBRA    D0,FADE1LOOP
  266.     RTS
  267.  
  268. FADE    
  269.     MOVE.W    D0,NUMCOLS
  270.     MOVE.L    #15,D7
  271.     ADD.L    #6,A0
  272.     MOVE.L    A0,A1
  273.  
  274. FLOOP    MOVE.W    NUMCOLS(PC),D0
  275.     SUB.L    #2,D0
  276.     move.l    #$9fff,d1
  277. delay    DBRA    D1,delay        
  278.  
  279. FADECOL
  280.     MOVE.W    (A0),D2
  281.     BSR    DIVIDE
  282.     ADD.L    #4,A0
  283.     DBRA    D0,FADECOL
  284.     MOVE.L    A1,A0
  285.     DBRA    D7,FLOOP
  286.     RTS
  287.     
  288. NUMCOLS    DC.W    0
  289.  
  290. DIVIDE
  291.     TST.W    D2
  292.     BEQ.S    EXIT
  293.     CLR.L    D3
  294.     CLR.L    D4
  295.     CLR.L    D5
  296.     CLR.L    D6
  297.     
  298.     MOVE.W    D2,D3
  299.     AND.W    #%0000000000001111,D3
  300.     TST.B    D3
  301.     BEQ.S    NEXT
  302.     SUBQ.B    #1,D3
  303. NEXT
  304.     MOVE.W    D2,D4
  305.     AND.W    #%0000000011110000,D4
  306.     ASR.W    #$4,D4
  307.     TST.B    D4
  308.     BEQ.S    NEXT2
  309.     SUBQ.B    #1,D4
  310. NEXT2
  311.     ASL.W    #$4,D4
  312.  
  313.     MOVE.W    D2,D5
  314.     AND.W    #%0000111100000000,D5
  315.     ASR.W    #$8,D5
  316.     TST.B    D5
  317.     BEQ.S    NEXT3
  318.     SUBQ.B    #1,D5
  319. NEXT3
  320.     ASL.W    #$8,D5
  321.  
  322.     OR.W    D3,D6
  323.     OR.W    D4,D6
  324.     OR.W    D5,D6
  325.     
  326.     MOVE.W    D6,(A0)
  327. EXIT    RTS
  328. EXIT2    MOVE.W    #0,(A0)
  329.     RTS
  330.     
  331. *************************************************
  332. * MESSAGES FOR TEXT !!!!!!!!!!!         *
  333. *************************************************
  334.  
  335. GREET
  336.  
  337.     DC.B    "               D E B U T                "
  338.     DC.B    "         THE PLANET SIMULATOR           "
  339.     DC.B    "                                        "
  340.     DC.B    "   CRACKED BY  N.O.M.A.D  OF SCOOPEX    "      
  341.     DC.B    "                                        "
  342.     DC.B    "   DUE TO THE COMPLEXITY OF THIS GAME,  "  
  343.     DC.B    "     SOME CRACKING ERRORS MAY OCCUR.    "
  344.     DC.B    "                                        "
  345.     DC.B    "      NO EXTERNAL DRIVES OR MEMORY      "
  346.     DC.B    "     LEAVE BOTH DISKS WRITE ENABLED     "
  347.     DC.B    "                                        "
  348.     DC.B    "     GREETS TO ALL WHO DESERVE THEM     "
  349.     DC.B    "                                        "
  350.     DC.B    "PRESS LEFT MOUSE BUTTON TO EXIT TO GAME!"
  351.            
  352. GREETEND
  353.     EVEN
  354. *************************************************
  355. * MESSAGES FOR TEXT !!!!!!!!!!!         *
  356. *************************************************
  357. LIST
  358.     DC.B    "             ANOTHER COMPACT            "
  359.     DC.B    "                                        "
  360.     DC.B    " F1           RORKES DRIFT           F1 "
  361.     DC.B    " F2       STORM ACROSS EUROPE        F2 "
  362.     DC.B    "                                        "
  363.     DC.B    "   RORKES DRIFT WAS CRACKED BY ORACLE   "
  364.     DC.B    "   STORM ACROSS EUROPE BY PARANIOMIA.   "
  365.     DC.B    "                                        "
  366.     DC.B    "         COMPILATION AND CODE BY        "
  367.     DC.B    "            N . O . M . A . D           " 
  368.     DC.B    "                                        "
  369.     DC.B    " PRESS RIGHT MOUSE FOR GREETS SCREEN !! "      
  370. LISTEND
  371.     EVEN
  372. GAMES    EQU    2
  373. *************************************************
  374. *  PRINT GREETS AND MESSAGES            *
  375. *************************************************
  376. GREETS
  377.     BTST    #2,$16(A5)
  378.     BEQ.S    GREETS
  379.     
  380.     BSR.S    CLEAR
  381.  
  382. SETSTART
  383.     MOVE.L    #LOGO+(HEIGHT)+(SCRWIDTH*1)+3,PRPOINT
  384.     MOVE.L    PRPOINT(PC),A4
  385.     LEA    GREET(PC),A3
  386.     LEA    GREETEND(PC),A6
  387.     BRA.S    RESET
  388.  
  389. HEIGHT    EQU    48*97
  390. *************************************************
  391. * CLEAR TEXT SCREEN                 *
  392. *************************************************
  393. CLEAR
  394.     MOVEQ.L    #7,D0
  395. HERE
  396.     LEA    (LOGO+(HEIGHT))(PC),A0
  397. CLEAR2
  398.     MOVE.B    (A0),D1
  399.     LSR.B    #1,D1
  400.     MOVE.B    D1,(A0)+
  401.     CMP.L    #LOGO+(48*230),A0
  402.     BNE.S    CLEAR2
  403.     DBRA    D0,HERE
  404.     RTS
  405. *************************************************
  406. * CLEAR LOGO SCREEN                 *
  407. *************************************************
  408. LCLEAR
  409.     MOVEQ.L    #7,D0
  410. LHERE
  411.     LEA    LOGO(PC),A0
  412. LCLEAR2
  413.     MOVE.B    (A0),D1
  414.     LSR.B    #1,D1
  415.     MOVE.B    D1,(A0)+
  416.     CMP.L    #LOGOEND,A0
  417.     BNE.S    LCLEAR2
  418.     DBRA    D0,LHERE
  419.     RTS
  420. *************************************************
  421. * GET CHARACTER FROM MESSAGES AND PRINT     *
  422. *************************************************
  423. SETPRINT
  424.     BTST    #6,$BFE001
  425.     BEQ.S    SETPRINT
  426.     
  427.     BSR.S    CLEAR
  428.  
  429.     CLR.W    PAPER
  430.     MOVE.L    #LOGO+(HEIGHT)+(SCRWIDTH*1)+3,PRPOINT
  431.     MOVE.L    PRPOINT(PC),A4
  432.     LEA    LIST(PC),A3
  433.     LEA    LISTEND(PC),A6
  434.     
  435. RESET
  436.     CLR.W    PAPER
  437.     MOVE.L    #39,D4
  438.     
  439. PRLOOP    MOVEQ.L    #0,D0
  440.     MOVE.B    (A3)+,D0    
  441.     BSR.S    FINDCHAR
  442.     DBRA    D4,PRLOOP
  443.     
  444.     ADD.L    #(SCRWIDTH*10),A4
  445.     MOVE.L    A4,PRPOINT
  446.     CMP.L    A6,A3
  447.     BNE.S    RESET
  448.  
  449. UP
  450.     ADD.W    #$0122,PAPER
  451.     MOVE.L    #$FFFF,D0
  452. ITSELF    DBRA    D0,ITSELF
  453.     CMP.W    #$07EE,PAPER
  454.     BNE.S    UP
  455.     MOVE.W    #$09FD,PAPER
  456.     RTS
  457.     
  458. *************************************************
  459. * FIND CHARACTER AND PRINT ONTO SCREEN         *
  460. *************************************************
  461.  
  462. FINDCHAR    
  463.     SUB.L    #32,D0
  464.     TST.L    D0
  465.     BEQ.S    SPACE
  466.     ASL.L    #3,D0
  467. SPACE
  468.     LEA    CHARS,A1
  469.     ADD.L    D0,A1
  470.     MOVE.L    PRPOINT(PC),A0
  471.     BSR.S    PRINT
  472.     MOVE.L    A0,PRPOINT
  473.     RTS
  474.     
  475.  
  476. SCRWIDTH    EQU    48
  477. PRPOINT        DC.L    LOGO+6
  478.  
  479.  
  480. *************************************************
  481. * PRINT ROUTINE   (A0 DEST    A1 CHARBIN)    *
  482. *************************************************    
  483. PRINT
  484.     MOVE.L    A0,A2
  485.     MOVE.L    #7,D0
  486. TRAN
  487.     MOVE.B    (A1)+,(A2)
  488.     ADD.L    #SCRWIDTH,A2
  489.     DBRA    D0,TRAN
  490.     ADD.L    #1,A0
  491.     RTS
  492.  
  493. *************************************************
  494. * GETKEY VALUE AND RETURN IN D0            *
  495. *************************************************
  496.  
  497. KEYTEST
  498.     MOVE.W    $1E(A5),D1
  499.     BTST    #3,D1
  500.     BEQ.S    NOWAY
  501.     MOVEQ.L    #0,D0
  502.     MOVE.B    $BFEC01,D0
  503.     ORI.B    #$40,$BFEE01
  504.     NOT.B    D0
  505.     ROR.B    #1,D0
  506.     SUB.W    #$50,D0
  507.     MOVE.W    #$600,D1
  508. ITSELF2    DBRA    D1,ITSELF2
  509.     ANDI.B    #$BF,$BFEE01
  510. NOWAY    RTS
  511.     
  512. *************************************************
  513. * COPPER LIST                    *
  514. *************************************************
  515. NEWCOPPER
  516.     
  517.     DC.L    $01000000
  518. COLS
  519.     dc.w    $0180,$0000,$0182,$0fff,$0184,$0bcf,$0186,$077f
  520.     dc.w    $0188,$052f,$018a,$020a,$018c,$0106,$018e,$0004
  521.     dc.w    $0190,$0303,$0192,$0fdd,$0194,$0fbb,$0196,$0f88
  522.     dc.w    $0198,$0f00,$019a,$0b00,$019c,$0800,$019e,$0500
  523.     dc.w    $01a0,$0300,$01a2,$0fff,$01a4,$0bcf,$01a6,$077f
  524.     dc.w    $01a8,$052f,$01aa,$020a,$01ac,$0106,$01ae,$0004
  525.     dc.w    $01b0,$0cfe,$01b2,$09fd,$01b4,$00fb,$01b6,$00da
  526.     dc.w    $01b8,$00a8,$01ba,$0087,$01bc,$0055,$01be,$0033
  527.  
  528.  
  529.     DC.L    $008E2081,$009040C8,$00920028,$009400D8
  530.  
  531.     DC.W $00E0
  532. PSL1H:    DC.W $0003
  533.     DC.W $00E2
  534. PSL1L:    DC.W $7000
  535.     DC.W $00E4
  536. PSL2H:    DC.W $0003
  537.     DC.W $00E6
  538. PSL2L:    DC.W $7000
  539.     DC.W $00E8
  540. PSL3H:    DC.W $0003
  541.     DC.W $00EA
  542. PSL3L:    DC.W $7000
  543.     DC.W $00EC
  544. PSL4H:    DC.W $0003
  545.     DC.W $00EE
  546. PSL4L:    DC.W $7000
  547.     DC.W $00F0
  548. PSL5H:    DC.W $0003
  549.     DC.W $00F2
  550. PSL5L:    DC.W $7000
  551.  
  552.     DC.L    $01080002,$010A0002
  553.     DC.L    $010200FF
  554.     DC.L    $2801FFFE,$01005200
  555.  
  556.     DC.L    $8801FFFE
  557.     DC.W    $0182
  558. PAPER    
  559.     DC.W    $09FD,$0102,$0022
  560.  
  561.     
  562.     DC.L    $FFDFFFFE
  563.     DC.L    $1001FFFE
  564.     DC.W    $0182
  565. TIDY    DC.W    $FFF,$0102,$00AA
  566.     DC.L    $2801FFFE,$01000000,$01800000
  567.     DC.L    $FFFFFFFE
  568.     
  569. ;SCROLLCOLS    DS.B    180*16
  570.     EVEN
  571. ;PAPER    DC.W    $FFF
  572. LOGO    INCBIN    df1:COMP.BIN
  573. LOGOEND
  574.     EVEN
  575. CHARS    
  576.     INCBIN    DF0:MADCHARS
  577.     EVEN
  578.  
  579.  
  580.